﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CSP.Model.CSP;

namespace CSP.Dao.IObjectDaos.CSP
{
    public interface ISearchServiceListDao
    {
        int GetDataById(int id);

        /// <summary>
        /// 根据分页获取服务列表数据
        /// </summary>
        /// <param name="ids"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageCount"></param>
        /// <returns></returns>
        List<SearchServiceList> GetDataByIdsDefault(List<int> ids, int pageIndex, int pageCount);

        /// <summary>
        /// 根据预约数量排序
        /// </summary>
        /// <param name="ids"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageCount"></param>
        /// <param name="isSortASC"></param>
        /// <returns></returns>
        List<SearchServiceList> GetDataByIdsOrderByOrderCount(List<int> ids, int pageIndex, int pageCount, bool isSortASC);

        /// <summary>
        /// 根据订单信誉排序
        /// </summary>
        /// <param name="ids"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageCount"></param>
        /// <returns></returns>
        List<SearchServiceList> GetDataByIdsOrderByServiceCredit(List<int> ids, int pageIndex, int pageCount, bool isSortASC);

        /// <summary>
        /// 根据订单价格排序
        /// </summary>
        /// <param name="ids"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageCount"></param>
        /// <returns></returns>
        List<SearchServiceList> GetDataByIdsOrderByPrice(List<int> ids, int pageIndex, int pageCount, bool isSortASC);

        /// <summary>
        /// 根据要获取的数量获取随机ServiceInfoIds
        /// </summary>
        /// <param name="count"></param>
        /// <returns></returns>
        List<int> GetRandomServiceInfoIdsByCount(int count);
    }
}
